مروري بر RUP و قابليت‌هاي آن در توليد نرم‌افزار
 
اقتصادی و سیاسی
 
 
سه شنبه 23 فروردين 1390برچسب:, :: 7:49 ::  نويسنده : فردین

 

مروري بر RUP و قابليت‌هاي آن در توليد نرم‌افزار
چكيده
چه چيز مي‌تواند يك پروسه توليد نرم‌افزار را توصيف كند؟ آيا منظور از پروسه،آماده‌سازي نرم‌افزار صرفاً براي ارائه در بازار است؟ مسلماً در هر كاري وجود يكسامانه و فرايند كاري ضروري است؛ ولي چه چيزي مي‌تواند موجب ايجاد سرعت و كيفيت درفرايند توليد يك نرم‌افزارشود؟ لزوماً طراحي و پياده‌سازي يك فرايند يكپارچه ومنطقي مي‌تواند چنين نتيجه‌اي در بر داشته باشد. بدين منظور امروزه از روشي استفادهمي‌شود كه اصطلاحاً RUP ناميده مي‌شود. به حداقل رساندن حجم پروسه توليد يكنرم‌افزار همزمان با حفظ كيفيت و صرفه‌جويي در زمان از مهمترين ويژگي‌هاي اين روشمي‌باشند. معمولاً براي يك شركت توليد نرم‌افزار، سرعت عمل به موقع براي پاسخ‌گوييبه تقاضا و شرايط اجتماعي اهميت دارد، اما گاهي اين شتابزدگي سبب فدا شدن كيفيتمي‌گردد. RUP با ارائه يك چارچوب منطقي علاوه بر تعيين زمانبندي مناسب، كيفيت موردنظر توليد كننده و استفاده كننده نرم‌افزار را تأمين مي‌نمايد. در اين مقاله ضمنمروري بر RUP به عنوان روش يكپارچه توليد نرم‌افزار، قابليت‌هاي آن در افزايش سرعتتوليد نرم‌افزار و حفظ كيفيت آن برشمرده مي‌شوند.
كليدواژه : RUP؛ UML؛ فرايند يكپارچه رشنال؛ Rational Unified Process؛ Unified Modeling Language
 
1- مقدمه
يك پروسه چابك، پروسه‌اي است كه هميشه آماده در آغوش كشيدن درخواستهاي جامعهبوده و  اين درجه از سازگاري را دارا باشد. بنابراين منظور از سرعت عمل، فقطكاستن از حجم پروسه توليد نرم‌افزار يا سرعت ارائه آن به بازار نيست؛ بلكه منظور،انعطاف‌پذيري و حفظ کيفيت است. مطلبي كه در اين مقاله قصد توضيح آن را داريم ايناست كه RUP 1 ساختاريپروسه‌اي (چيو 2000) است كه امكان انعطاف‌پذيري را براي توليد‌كنندگان نرم‌افزارفراهم مي‌آورد.
منظور از RUP  چيست؟ در اين مقاله از چند منظر به RUP خواهيم پرداخت:
  • RUP يك پروسه توليد نرم‌افزار است.
  • RUP مجموعه‌اي از تجربيات بسيار عالي توليد نرم‌افزار را كه در عمل با آنهابرخورد شده است، در خود دارد.
  • RUP همانند يك محصول نرم‌افزاري به بازار ارائه شده و به فروش مي‌رسد با اينتفاوت كه RUP اولين ساختار توليد نرم‌افزار را ارائه داده و گام نخست را در اينزمينه برداشته است.
 
 
2- RUP چيست؟
با پيشرفت تكنولوژي‌هاي مرتبط با كامپيوتر، نياز هر چه بيشتر به گسترش علمنرم‌افزاري نيز احساس مي‌شد كه با پيدايش متدولوژيهاي همانند SSADM 2  و روش آبشاري3 (چيو 2000) ‎آغاز شد. در ابتدا، اين روشها مناسب بود و جوابگوي نيازهاي آن زمان بودندولي با افزايش داده‌ها و پيدايش مفاهيمي همچون شبكه، وب و غيره ديگركارآيي لازم را جهت پياده‌سازي و هدايت پروژه‌هاي نرم‌افزاري نداشتند. پس مفاهيمبرنامه‌نويسي شيءگرا پا به عرصه وجود گذاشتند و در سال 1991 بطور جدي مورد مطالعه وبحث قرار گرفتند. استفاده از اين روشها و متدهاي برنامه‌نويسي، قدرت و انعطافبسياري را به برنامه‌ها داد و شركتهاي نرم‌افزاري توانستند با كاهش هزينه‌ها وبهينه‌سازي كدهاي خود، نرم‌افزارهاي قويتري را به بازار عرضه كنند ولي اين روش جديدنيز نياز به مديريت و يكپارچگي داشت. پس روشها و متدولوژيهاي جديدي مطرح شد كه شامل Booch، OMT، OSE و ... مي‌باشند. در سال 2000 شركت Rational روشي را تحتعنوان RUP  مطرح ساخت (گروه كاسميك 2003ب) كه بعد از روش MSF شركتمايكروسافت به دنياي نرم‌افزار عرضه شد و امروزه از طرفداران بسياري برخوردار است. فرايند يكپارچه Rational در اصل يك متدولوژي است كه در جهت كنترل و انجام پروژه‌هاينرم‌افزاري در نظر گرفته شده است. در اصل اين چارچوبي در جهت انجام صحيح و موفقپروژه‌هاي نرم‌افزاري مي‌باشد كه كليه مراحل انجام يك پروژه كه با معماري و آناليزسازمان شروع شده و به تست نرم‌افزار و ارائه Gold Release ختم مي‌شود را در برمي‌گيرد (گروه كاسميك 2003 الف).
چرا RUP را يک فرايند يکپارچه مي‌گويند؟  به سه علت RUP را يكپارچهمي‌نامند:
  • اين متدولوژي از يكپارچه‌سازي سه متدولوژي معروف ديگر بوجود آمده است كه شامل Booch، OMT و OSE مي‌باشد.
  • از UML4 درجهت كارهاي خود استفاده مي‌كند. در واقع مي‌توان گفت UML خود ثمره RUP  مي‌باشد و اين خود بسيار خوب است كه متدولوژيي با خودش گسترش يابد (گروه كاسميك 2003الف). مفاهيمي از قبيل Object، Class و ... مفاهيم ساده و ثابتي هستندولي قبلاً متدولوژيها علامتهاي خاصي داشتند كه اكنون همه آنها يكسان شده‌اند.
  • در داخل RUP يك چارچوب توليد نرم‌افزار است كه ما آنرا براي سازمان و پروژهخود بومي مي‌كنيم و مي‌توان گفت كه در واقع يك قالب فرايند5 است.
 
شكل 1 ساختار اصلي RUP را مشخص مي‌كند. اگر در بعد زمان به آن نگاه كنيم شامل 4فاز مي‌باشد و اگر در هر لحظه به آن نگاه كنيم شامل 9 قالب خواهد بود.
 
 
شکل 1. ساختار اصلي RUP
3- خصوصيات RUP چيست؟
  • RUP مبتني بر نوعي معماري است كه به اجزاء اصلي مي‌پردازد ولي طراحي بهجزئيات نيز وارد مي‌شود. همچنين مي‌توان گفت معماري يكسري اجزا و ارتباط بين آنهااست كه سيستم را مي‌سازد و ما را به سمت توسعه مؤلفه‌محور6راهنمايي مي‌كند.
  • ويژگي Usecase Driven:  يكي از مشكلات OOA اين بود كه مي‌گفتند با هرروشي تبديل و كار كنند و بعد بتوان آنرا به شيءگرا تبديل كرد. يعني مثلاً پروژه SSADM را طراحي كرده و بعداً به شيءگرا تبديل نمود. ولي آن عقيده اشتباه بود وحتماً تحليل شيءگرا بايد صورت بگيرد. خصوصيت خوب شيءگرا كه در ديگر روشهانمي‌باشد اين است كه نوتاسيوني كه استفاده مي‌شود (بوچ، رامباق و جاكوبسون 1999) در همه مراحل يكي است يعني مفاهيمي از قبيل شيء، كلاس، روابط كلاسها و ... درتمامي مراحل يكي است. اهميتي كه Usecase Driven دارد اين است كه با زبان مشترينوشته مي‌شودمشتري مي‌تواند آنرا بفهمد و بسيار مناسب براي تشخيصنيازمنديهاي سيستم مي‌باشد. در بخش تحليل و طراحي از روي Usecaseها تحليل و طراحيانجام مي‌دهيم و مسائلي مانند مديريت پروژه نيز تحت تاثير Usecaseها هستند كه ماآنها را دسته‌بندي كرده و مديريت مي‌كنيم. همچنين راهنماهاي سيستم همتحت تاثير Usecaseها (كراچتن 2000، 298) ايجاد مي‌شوند.
  • ويژگي Incremental: به معني آن است که پروژه بصورت چهار مرحله حلقه‌اي جلومي‌رود ولي در هر مرحله چرخش يك دسته از Usecaseها كامل و آماده استفاده مي‌شود وكليه اين كارها در 9 جريان كار7 كهدر شكل 1 مشخص شده بود، قابل مشاهده است.
4- ديدگاه اوليه درباره RUP
ديدگاهي كه RUP بر اساس آن طراحي شده، به گونه‌اي است كه محدوده وسيعي از اهدافرا پوشش دهد تا ضمانت اجرايي جهت انطباق با موارد زير حاصل شود (كراچتن 2003):
  • ابعاد پروژه
  • حوزه كاربردي برنامه (سيستمهاي تجاري يا سيستمهاي فني)
  • زمينه‌هاي تجارت (توسعه خانگي، توسعه محصولات، فروشندگان نرم‌افزار مستقل،توسعه قراردادي).
 همانند هر ساختار پروسه‌ ديگري، RUP نيز روش سيستماتيكي را براي به دستآوردن، سازماندهي و ارائه راهكارهاي مهندسي نرم‌افزار در اختيارتان قرار مي‌دهد. RUP براي سازماندهي راهكارها، بر يك مدل پروسه‌ ساده و کاملاً زيربنايي استوار شدهاست كه توضيح اين امر در قالب چند مقاله يا كتاب نمي‌گنجد.
با اين وجود، ساختار پروسه مزبور را نمي‌توان به يك ظرف خالي تشبيه نمود. اينساختار از قبل توسط حجم عظيمي از پروسه‌هاي راهكاري كه قبلاً در پانزده سالگذشته توسط مليت‌هاي مختلف تحصيل شده است و با شركت Rational ارتباط داشته‌‌اند (افرادي كه قبلاً اين شركت آنها را به خود جذب كرده و برخي از شركاي اين شركت نظير IBM ، HP و BEA (كراچتن 2003)) انباشته گرديده‌ است. RUP مجموعه محدود و بسته‌اينيست كه به منظور كاربردهاي عمومي منتشر شده باشد و پاسخ يا راه‌حل تمامي مشكلاتتوسعه نرم‌افزاري را دربرگيرد؛ بلكه ساختار RUP ساختار بازي است كه به منظوراستنتاج بايد شاخه‌هاي آنرا دنبال كنيد و اين ساختار سالانه دوبار روزآمدمي‌گردد. ساختار RUP تصفيه شده است و پشتيباني ابزاري و مندرجات آن نيز توسعهيافته‌اند.
از يك سو، گروه توسعه پروسه شركت Rational، امر به روز سازي محتويات RUP راهمگام با مقتضيات فن‌آوري و بازخوردهايي كه كاربران اين ساختار ارائه مي‌دهند، بهعهده دارند و از سوي ديگر شركاي متعدد اين شركت و افرادي كه RUP را براي استحصال وسازماندهي فرايندهاي راهكاري خود پذيرفته‌اند و از آن براي اهداف مربوط به خوداستفاده مي‌كنند، ساختار ارائه شده توسط شركت Rational را تبليغ نموده و آنرا راتكميل مي‌كنند.
ساختار RUP پيرامون چند منطق ساده و مرتبط به هم سازمان‌دهي شده است:
  • RUP نقشهايي را تعريف مي‌كند كه بايد در پروسه وجود داشته باشد و بر مبنايآن، صلاحيتها، تخصصها و مسئوليتهاي افرادي كه بايد پيشرفت پروژه را محقق سازند،مشخص مي‌شود.
  • RUP كارهايي را كه هر يك از افراد بايد در عمل انجام دهند، به طور گام به گامتشريح مي‌كند.
  • اين عمليات با استفاده از ابزارهايي واقعي مانند مدل‌ها، كدها، اسناد وگزارشها اداره مي‌شوند.
  • در RUP به وفور با راهنماييهاي مربوط به نقش‌هايي كه افراد بايد به عهدهبگيرند، فعاليتهايي كه بايد انجام شوند و مصنوعات مورد نياز برخورد خواهيد نمودكه در قالب خطوط راهنما، الگوها، مثالها و معلمهاي ابزاري ارائه مي‌شوند كهچگونگي به وقوع پيوستن دسته‌اي از فعاليتها توسط يك ابزار بخصوص را شرح مي‌دهند.
  • تمامي اين المانهاي توصيف پروسه در قالب سامانه‌هايي سازماندهيشده‌اند.
 
RUP مقدماتي نه سامانه، بيش از چهل نقش و صد محصول را تعريف مي‌كند و حاوي بيشاز هزار صفحه راهنما است. همچنين مي‌توانيد به پروسه‌هاي الحاقي متعددي كه وظايف ومندرجات بيشتري را به RUP اضافه مي‌كند، دسترسي پيدا كنيد. برخي از منتقدين RUP آنرا پروسه‌اي بسيار سنگين تصور نموده و آنرا به كرگدني تشبيه مي‌كنند كه توانانجام تعداد نامحدودي عمل غير معمول را براي شما فراهم مي‌آورد؛ با اين وجود نگاهما به RUP همانند لوح باشكوهي از معارف است كه مي‌توانيد آنچه را كه نياز داريد، ازداخل آن برگزينيد.
 اجازه بدهيد مقايسه‌اي انجام دهيم. اگر فرهنگ لغات مناسبي از 800 لغت راانتخاب كرده باشيد، مي‌توانيد در خيلي از نقاط دنيا و در بسياري شرايط، گليم خود رااز آب بيرون بكشيد؛ ولي با انتخاب فرهنگ لغات حجيمي چون Webster ، اولاً هيچ‌كس شمارا مجبور به استفاده از لغاتي كه در فرهنگ لغات وجود دارد نمي‌كند، ثانياًمي‌توانيد سطح لغات محفوظي خود را براي انطباق با وضعيتهاي مختلف ارتقا ببخشيد وثالثاً مي‌توانيد فرهنگ لغات خود را بهبود دهيد. فرهنگ لغت800 لغتي بايد فقطزيرمجموعه‌اي از يك فرهنگ لغات باشد.
5- انعطاف‌پذيري RUP و انطباق با آن
RUP يك اصل عقيدتي يا يك آيين مذهبي نيست. ساختار RUP ساختار خشكي نيست كهبخواهد همه چيز را براي توليد نرم‌افزار در قالب خود درآورد. نيازي نيست كه حداقلچهل نفر را براي تكميل پروسه‌اي كه چهل نقش در آن تعريف شده است، به خدمت بگيريد ونيازي نداريد كه بيش از صد محصول مختلف را پرورش دهيد. اگر سعي خود را به انجام اينكار معطوف سازيد، خيلي زود در معرض آشفتگي قرار خواهيد گرفت. اين المانها در RUP ودر فرم الكترونيكي (كراچتن 2003) براي فراهم‌آوردن انعطاف‌پذيري مورد نياز برايانطباق با تقاضايي ارائه شده‌اند كه به شرايط محيطي كه درآن به سر مي‌بريد، بستگيدارد.
RUP تمرينات توليد نرم‌افزار ثابت شده فراواني را در بردارد. شركت Rational ميدان ديد بالايي را براي موارد زير، ارائه مي‌دهد:
  • توسعه مكرر
  • مدل‌سازي بصري
  • مديريت ملزومات تغييرات كنترل
  • بازبيني مداوم كيفيت
  • استفاده از معماري بر مبناي اجزا
 
همچنين URP بر مبناي ديگر اصول كليدي ديگري كه كمتر قابل مشاهده هستند و ساده‌تربه محاق فراموشي سپرده مي‌شوند،  استوار شده است كه فقط براي يادآوري اشاره‌ايبه آنها مي‌نماييم (جنر 2002):
  • منحصراً آنچه را كه مورد نياز است، پرورش دهيد.
  • روي نتايج ارزشمند تمركز كنيد، نه روي چگونگي حصول نتايج
  • كاغذبازي را به حداقل برسانيد.
  • انعطاف‌پذير باشيد.
  • از اشتباهات خود عبرت بگيريد.
  • به طور منظم، مخاطرات محتمل را مورد بازبيني قرار دهيد.
  • براي پروسه موردنظر معيارهاي قابل اندازه‌گيري و علمي را بدون موضع‌گيري شخصياستوار كنيد.
  • از گروه‌هاي كوچك و توانمند استفاده كنيد.
  • طرحي را در ذهن داشته باشيد.
 
ذهنيت كليدي در سازگار شدن و سازگار كردن RUP قالب توسعه8 مي‌باشد. يك قالب توسعه نمونه‌اي از RUP است كه براي پروژه ويژه‌‌اي كه مد نظرتان است، مناسبباشد. با مراجعه به ساختار RUP به توضيح پروسه‌اي دست‌ مي‌يابيد كه موارد زير راتعريف نمودهو شناسايي مي‌كند (جنر 2002):
  •  چه چيزي توسعه داده خواهد شد؟
  • به چه مصنوعاتي واقعاً نياز داريم؟
  • چه الگوهايي بايد مورد استفاده قرار بگيرند؟
  • كدام مصنوعات در حال حاضر وجود دارند؟
  • به چه نقش‌هايي نياز داريم؟
  • چه فعاليتهايي انجام خواهند شد؟
  • كدام خطوط راهنما، استانداردهاي پروژه و ابزارهايي مورد استفاده قرار خواهندگرفت؟
6- نتيجه گيري
از آنچه گذشت در مي‌يابيم اولاً در حال حاضر تنها روش توسعه نرم‌افزاري که موردپذيرش در عرصه جهاني است، RUP مي‌باشد. ثانياً اين روش علاوه بر ساماندهي به فرايندتوليد نرم‌افزار از دو بعد زمان و کيفيت، به لحاظ برخورداري از انعطاف‌پذيري بالادر صورت کاربرد و پياده سازي صحيح مي‌تواند سبب تسريع فرايند توليد و توسعهنرم‌افزار و تأمين کيفيت مورد نظر در نرم‌افزار گردد و نهايتاً اين که يکي از مهمترين ويژگي‌هاي RUP اين است که قابليت توسعه و تغيير نرم‌افزار ها را بر اساس تغييرنيازهاي کاربران و نيز تغيير فناوري، از قبل پيش بيني نموده است.
 
 

 

Booch, G., J. Rumbaugh and I. Jacobson. 1999. The Unified Modeling Language User Guide. Addison- Wesley.

 
COSMIC Group. 2003a. Valve Control System – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, January 25, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
COSMIC Group. 2003b. Rice Cooker – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, Janua ry 26, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
Jenner, M. 2002. Automation of Counting of Functional Size Using COSMIC-FFP in UML. 12th International Workshop on Software Measurement – IWSM 2002, Magdeburg, Germany, Oct. 7-9, 43-51.
Kruchten, P. 2000. The Rational Unified Process, an introduction. Addison Wesley.
Kruchten, P. 2003. The RUP platform. Montréal-SPIN . November, 33.
Schewe, K.D. 2000. UML: A Modern Dinosaur? A Critical Analysis of the Unified Modeling Language. Proc. 10th European-Japanese Conf. on Information Modeling and Knowledge Bases. Saariselk/Finland.
 
 

 

1. Rational Unified Process

 
2. Structured System Analysis and Design Method
3. waterfall
4. Unified Modeling Language
5. Process Framework
6. Component Base Development (CBD)
7. workflow
8. Development case
 
 


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:







درباره وبلاگ


با عرض سلام و خسته نباشید به شما دوست عزیز که به ویلاگ این بنده سری زده اید و امید وارم که در وبلاگ من 1 مطابی رو پیدا کنی که به درد شما بخوره و بتوانی از آن استفاده مفید را انجام بدی . با نظرات خود ما را در انجام هر چه بهتر شدن وبلاگ یاری نمایید. شماره تماس با من 09141668615
شمارش معکوس برای آغاز گفتگوهای ایران با 1+5
خودرویی که شکل عوض می کند ثبت نام کاردانی به کارشناسی رژه کالسکه های عجیب و جالب در کراسنودار روسیه ... :: بزرگترین سنگ دنیا ... جدیدترین لباس عروس های تیر ماه 91 تصاویر دیدنی از عجیب ترین داشبورد های اتومبیل در جهان توصیه‌ های مهم امنیتی به کاربران گوشی های هوشمند زیبا ترین عکس های جدید عاشقانه ساخت ماوس هیبریدی جدید! عکس های زیبا از دریا عکس ترسناک‌ترین استخر دنیا «درهای بند ما در زندان همیشه بسته است» آموزش تصویری SQL Server 2008 قسمت 1 پیامک بازی با ((یارانه دهنده محترم)) بر سر یارانه پدیدار شدن آیات قرآن بر بدن یک نوزاد (+عکس) بدن كودک تبریزی خاصیت مغناطیسی دارد (+عکس) ماشین از دیدگاه دختر خانوووما + تصاویر بزرگترین قاتل قرن 21 +عکس چی میشد اگه این هالیوودی ها پشمالو بودند ؟! اینم از مجلس ایران.....ببین!!!+عکس بوسیدن فاطمه معتمد آریا توسط مجری مرد + عکس همه چیز در مورد شب زفاف دختر ۱۵ ساله که با ۲ ماه تن فروشی میلیونر شد + عکس شگفت انگیزترین ماهی کشور + عکس بلعیدن دست مردی توسط تمساح + تصاویرباور نکردنی 18+ بوی بد دهان دلیل کشته شدن یک نو عروس 17 ساله مراقبت یک سگ از جوجه غاز یتیم!/عکس بازداشت دختر نیمه عریان وزیر در خانه فساد!! +عکس خطرناک ترین بدلکاری سال+عکس مردی که با جنازه زنش چندین سال همبستری میکرد+عکس عکس های شخصی لیلا اوتادی در منزلش! شركت تك رايانه انلد ویروس جدید کامپیوتر آموزش ساختن ویروس تبلت Kindle Fire به نسخه ۶٫۳ آپدیت میشود پرواز ۴۸ ساعته هواپیمای خورشیدی! بی بی قصه های مجید درگذشت
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان درسی و آدرس fardin.851165965.LoxBlog.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان